Большой интерес среди разработчиков аппаратного обеспечения вызывает система на кристалле (SoC). Такой подход позволяет экономить на размерах устройства, а также повысить его производительность за счёт всё той же минитюаризации.
Существенным улучшением разработки SoC систем является возможность модификации ядра процессора или добавление новых инструкций. Для обеспечения такой возможности необходимо синтезируемое описание процессора и резервирование диапазона инструкций для расширения. Одним из решений является создание модели процессора в среде IEESD-2000. Благодаря возможности проектирования сверху-вниз, использованию высокоуровневых компонент, средств анализа и тестирования можно в достаточно сжатые сроки разработать синтезируемую модель.
Предлагаются следующий порядок разработки модели процессора: создание высокоуровневых компонент и последующая их детализация до синтезируемых компонент.
Схема контроллера разбивается на 4 главных блока: блок управления, блок дешифрации инструкции, блок памяти и блок арифметико-логических устройств (ALU). Блок управления является в первую очередь шлюзом между внутренними компонентами и внешними контактами контроллера. Кроме этого блок определяет режим работы, осуществляет управлением работы остальных блоков.
Блок дешифрации осуществляет разбор кодов инструкции и определение необходимых параметров для получения операндов инструкции. Кроме этого, блок определяет необходимость загрузки следующего слова кодовой памяти. Блок памяти производит выборку операндов инструкции, запись результата выполнения инструкции, а также управление регистром счётчика команд. Блок ALU выполняет определённую операцию над операндами с учётом флагов.
Используя возможность создания моделей устройств на языках программирования высокого уровня, создаётся поведенческая модель (высокоуровневый компонент). Этот важный этап разработки позволяет проверить работу всего проекта на первом уровне детализации и для него не требуется полного описания функционирования всех блоков. Проверка работоспособности работы устройства на ранних этапах детализации позволяет избежать или уменьшить количество дальнейших операций по изменению интерфейса взаимодействия между блоками.
Детализация ведётся при помощи синтезируемых компонент. Таковыми являются все устройства параметризированной библиотеки Standard.
Описанный подход позволяет получить синтезируемое описание процессора в виде схемы устройств, а также возможность расширения набора команд и проектирования, совместной отладки и синтеза аппаратного обеспечения. Напомним, что система IEESD обеспечивает автоматическую генерацию синтезируемых VHDL-описаний по отлаженным схемам, скомпонованным из устройств параметризированной библиотеки Standard.
Предлагаемый подход апробируется разработкой синтезируемой модели процессора Intel 8051. Разработаны и отлажены высокоуровневые компоненты. В IEESD обеспечена отладка программного обеспечения, симулируемого на композиции высокоуровневых компонент процессора. Проведена декомпозиция до синтезируемых элеменов всех частей схемы. В настоящее время ведется верификация и отладка синтезируемой схемы процессора. Наличие такой отлаженной схемы позволит легко модифицировать систему команд (удалением, заменой и добавлением), способы адресации, объемы регистровой и оперативной памяти, оптимизируя схему процессора под круг решаемых задач. Более того, наличие такой схемы позволит легко строить конфигурируемые мультипроцессорные системы и даже сети на кристалле, учитывая возможность совместной отладки программного и аппаратного обеспечения, предоставляемую системой IEESD [2].